/**
 * 给定两个操作序列，每个操作序列均是由乘法和除法构成，问两个操作之后的结果是否相等
 * 对每一个参数求出其所有的质因子，乘法为加、除法为减
 * 最后看结果一不一样
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
using pii = pair<int, int>;

struct NormalSieve{

using llt = int;

vector<bool> isComp; // isComp[i]表示i是否为合数
vector<llt> primes; // primes[i]是第i个质数
vector<llt> fac[101000];

NormalSieve(int SZ = 101000){
    primes.reserve(SZ);
    isComp.assign(SZ, false);

    for(int i=2;i<SZ;++i){
        if(isComp[i]) continue;

        primes.push_back(i);
        for(long long j=i;j<SZ;j+=i){
            isComp[j] = true;
            fac[j].push_back(i);
        }
    }
}


}Sie;

void proc(map<int, int> & yinshe){
    int n; cin >> n;
    llt ans = 1;
    int sgn = 1;
    for(int c,x,y,i=0;i<n;++i){
        cin >> c >> x;
        if(x < 0) x = -x, sgn *= -1;
        if(x == 1) continue;
        y = x;
        if(1 == c){
            for(auto p : Sie.fac[x]){
                auto & tmp = yinshe[p];
                while(0 == y % p) ++tmp, y /= p;
            }
        }else if(2 == c){
            for(auto p : Sie.fac[x]){
                auto & tmp = yinshe[p];
                while(0 == y % p) --tmp, y /= p;
            }
        }else{
            assert(0);
        }
        assert(1 == y);
    }
    for(auto it=yinshe.begin();it!=yinshe.end();){
        if(it->second == 0){
            it = yinshe.erase(it);
        }else{
            ++it;
        }
    }
    yinshe[-1] = sgn;
    return;
}

bool proc(){
    map<int, int> a, b;
    proc(a); proc(b);
    if(a[-1] != b[-1]) return false;
    
    for(const auto & p : a){
        assert(p.second);
        auto it = b.find(p.first);
        if(it == b.end() or it->second != p.second) return false;
    }
    for(const auto & p : b){
        assert(p.second);
        auto it = a.find(p.first);
        if(it == a.end() or it->second != p.second) return false;
    }
    return true;
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cout << (proc() ? "YES" : "NO") << endl;
    return 0;
}